package dev.pda.display.domain.message

import dev.pda.display.presentation.page.model.ProgramVM
import io.reactivex.Single

interface MessageRepository {

    fun sendUDPManager(ipAddress: String, port: Int, message: String): Single<Boolean>

    fun initUDPServer(ipAddress: String, port: Int): Single<Boolean>

    fun initTCPServer(port: Int): Single<Boolean>

    fun connectMQTT(): Single<Boolean>

    fun disConnectMQTT(): Single<Unit>

    fun sendMQTTMessage(publishTopic: String, message: String): Single<Unit>

    fun getProgramVM(message: String): Single<ProgramVM>
}